Gesture recognition refers to the interpretation of human gestures via mathematical algorithms for use by user applications. Gestures can originate from any bodily motion or state but commonly originate from the face or hand. Gesture recognition is way for computers to understand human body language, thus building a better bridge between humans and machines than that provided by text based and graphical user interfaces. Gesture recognition enables humans to communicate with computers and to interact naturally without any mechanical devices. For example, using gesture recognition concepts, it is possible for a user to point a finger at a computer screen and direct a cursor to move on the screen without the use of a input device such as a mouse.
One problem with existing methods and systems for gesture recognition is that they are typically device and gesture limited. In particular, existing gesture recognition application programming interfaces (“APIs”) are typically unable to learn to recognized new gestures. This can be frustrating for application developers if they want their applications to react to specific custom gestures. Similarly, existing solutions are often device specific. That is, the gesture recognition capabilities provided by hardware suppliers are often specific to one device only. This is problematic as users typically have and use a number of different hardware devices. Furthermore, existing methods and systems typically do not allow for reuse of gesture recognition training data.
A need therefore exists for an improved method and system for providing gesture recognition services to user applications. Accordingly, a solution that addresses, at least in part, the above and other shortcomings is desired.